#include "widget.h"
#include "ui_widget.h"
#include "VideoWidget.h"
#include <QGridLayout>
#include <QDebug>

extern "C" {
    #include <libavcodec/avcodec.h>
    #include <libavformat/avformat.h>
    #include <libswscale/swscale.h>
    #include <libavdevice/avdevice.h>
    #include <libavformat/version.h>
    #include <libavutil/time.h>
    #include <libavutil/mathematics.h>
    #include <libavutil/imgutils.h>
}

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    qDebug() << "FFmpeg的版本号:" << avcodec_version();

    // 创建一个网格布局，直接应用在当前Widget
    QGridLayout *layout = new QGridLayout(this);

    // 假设有多个视频流
    QStringList streamUrls = {
         "rtsp://192.168.3.111:554/live",
        "rtsp://192.168.3.5:554/live",
       // "rtsp://admin:tqzc1316@192.168.3.8/Streaming/Channels/101",
        // 你可以添加更多的 RTSP 流 URL


        // "rtsp://192.168.3.104:554/stream_0"
    };

    // 为每个视频流创建一个 VideoWidget
    for (int i = 0; i < streamUrls.size(); ++i) {
        VideoWidget *videoWidget = new VideoWidget(streamUrls[i]);
        layout->addWidget(videoWidget, i / 2, i % 2);  // 按照网格布局添加视频
    }
}

Widget::~Widget()
{
    delete ui;
}

